Spring 连接 PostgreSQL
这个连接比刚才的那个稍微复杂了一点。
我新建了一个Java工程,
工程里面引用了Spring的包,
\spring-framework-3.0.6.RELEASE-with-docs\spring-framework-3.0.6.RELEASE\dist
目录下面的所有包,可能有些是不需要的,我没有耐心挑选了
由于使用数据源c3p0,所以引用了
\spring-framework-3.0.1.RELEASE-dependencies\com.mchange.c3p0\com.springsource.com.mchange.v2.c3p0\0.9.1.2\com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar
还引用了
\spring-framework-3.0.1.RELEASE-dependencies\org.apache.commons\com.springsource.org.apache.commons.logging\1.1.1\com.springsource.org.apache.commons.logging-1.1.1.jar
也不知道干嘛用的,不过不引用,好像会报错,没有仔细研究了。
当然了还要引用jdbc驱动
postgresql-9.1-901.jdbc4.jar
下面编写Java代码
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class BeanTest {
public static void main(String[] args)
throws Exception
{
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
DataSource ds = ctx.getBean("dataSource",DataSource.class);
Connection conn = ds.getConnection();
Statement st = conn.createStatement();
ResultSet rt = st.executeQuery("select * from weather");
while(rt.next())
{
String test1=rt.getString(1);
System.out.println(test1);
}
rt.close();
st.close();
conn.close();
}
}
噢,对了,还忘了一个最重要的,spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
classpath:/org/springframework/beans/factory/xml/spring-beans-2.0.xsd"
default-lazy-init="true">
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="org.postgresql.Driver"/>
<property name="jdbcUrl" value="jdbc:postgresql:testdb"/>
<property name="user" value="postgres"/>
<property name="password" value="nirvana7"/>
</bean>
</beans>
还有一个要注意的就是spring配置文件放置的位置,这个是跟java文件里面,引用配置文件的方法有关系的,
这里是用的是ClassPathXmlApplicationContext类,所以配置文件要放在这个工程bin目录下。
OK,可以运行了。